Operator CxpTxTrigger

Operator Library: Hardware Platform

此運算子會根據在輸入連接埠上偵測到的訊號邊緣產生觸發封包。

CxpTxTrigger 運算子有兩種可能的實作方式,取決於輸入連接埠的數量:

  • 單一輸入連接埠:使用來自 CXP 1.X 標準的 Tx Trigger 規格。CXPLinkTrigger0 會隨著輸入連接埠 I 上的每一個上升緣而傳送。TxTriggerPacketMode 參數為動態參數,可以在執行階段進行變更。當 TxTriggerPacketMode 參數未設定為 RisingEdgeOnly 時,CXPLinkTrigger1 會隨著輸入連接埠 I 上的每一個下降緣而傳送。如果運算子是以單一輸入連接埠進行執行個體化,則該連接埠的名稱為 I。

  • 多個輸入連接埠:使用來自 CXP 2.X 標準的 Tx Trigger 規格(使用延遲的 LSB 來實作觸發 2 和 3)。每一個輸入連接埠都會分配給 0 到 3 之間的其中一個 CXPLinkTriggers。輸入連接埠上的每一個上升緣都會導致傳送對應的 CXPLinkTrigger 封包。對於此組態,TxTriggerPacketMode 參數會停用(為靜態且不可編輯)。如果運算子是以多個輸入連接埠進行執行個體化,則輸入連接埠的名稱範圍從 LinkTrigger0 到 LinkTrigger3,具體取決於所組態的輸入連接埠數量。

此運算子會使用一個資源 CxpTxTriggerPort,對於 imaFlex CXP-12 Quad 而言,其範圍為 {0, 1, 2, 3},而對於 imaFlex CXP-12 Penta 而言,其範圍為 {0, 1, 2, 3, 4}。此資源對應於傳送觸發封包的 CXP 通道。

由於輸入連接埠上的上升緣(以及單一輸入連接埠潛在的下降緣)會導致傳送完整的觸發封包,因此邊緣之間必須有一定的間隔。如果邊緣之間的間隔不夠大,就會導致「過度觸發」(over-triggering)。這表示只有第一個邊緣會產生觸發封包,而後續的邊緣都會遭到忽略。CxpPortStatus 運算子包含 TxTriggerOverRequestCount 參數,可用來計算發生過度觸發的次數。如果在極短的時間內因過度觸發而遺失多個觸發邊緣(例如平行輸入連接埠上的觸發邊緣),TxTriggerOverRequestCount 可能無法計算出遺失的觸發邊緣確切數量。相反地,多次過度觸發會導致 TxTriggerOverRequestCount 遞增一次。

適用於硬體平台
imaFlex CXP-12 Penta
imaFlex CXP-12 Quad

I/O Properties

Property Value
Operator Type M
輸入連結 I, n == 1, 觸發輸入
LinkTrigger[n], n > 1, 觸發輸入

支援的 Link 格式

Link Parameter 輸入鏈結 I, n == 1 輸入鏈結 LinkTrigger[n], n > 1
Bit Width 1 1
Arithmetic unsigned unsigned
Parallelism 1 1
Kernel Columns 1 1
Kernel Rows 1 1
Img Protocol VALT_SIGNAL VALT_SIGNAL
Color Format VAF_GRAY VAF_GRAY
Color Flavor FL_NONE FL_NONE
Max. Img Width any any
Max. Img Height any any

參數

TxTriggerPacketMode
Type 動態/靜態寫入參數
Default RisingFallingEdge
Range {RisingFallingEdge,RisingEdgeOnly}

如果有多個輸入連接埠處於作用中狀態,該參數即為靜態參數,完全無法進行編輯。

此參數僅在僅使用單一輸入連接埠時處於作用中狀態。在該情況下,該參數為動態參數,可以在執行階段進行變更。此參數會定義哪一個觸發輸入邊緣會傳送觸發封包。如果您選取 RisingFallingEdge 模式,就會針對上升緣和下降緣傳送封包。如果您選取 RisingEdgeOnly 模式,則只會針對上升緣傳送封包。

使用範例

CxpTxTrigger 運算子的使用方式顯示於下列範例中: